public class Dog extends Animal {
    //1.因为 Dog 是 Animal 子类
    //2.Dog的cry方法和Animal的cry定义形式一样（名称，返回类型，参数）
    //3.这时我们就说Dog的cry方法，重写了Animal的cry方法
    public void cry() {
        System.out.println("小狗汪汪叫...");
    }

    //细节
    //1.子类的方法的参数(类型，个数)，方法名称，要和父类方法的参数，
    //  (类型，个数)，方法名称完全一样
    //2.子类方法的返回类型和父类方法返回类型一样，
    //  或者是父类返回类型的子类
    public String m1() {//重写m1方法
        return null;
    }

//    public Object m2() {//报错
//        return null;
//    }

    //    public BBB m3() {
//        return null;
//    }
    public AAA m3() {//此处修饰符不能改为protected，默认，private
        return null;
    }
}

class AAA {

}

class BBB extends AAA {

}
